package com.njtoyo.taxi.admin.rest.presenter.local_service;

import com.njtoyo.taxi.admin.mapper.master.entity.local_service.LifeMemberPickupInfo;
import com.njtoyo.taxi.admin.mapper.master.enums.local_service.LifeMemberCategory;
import com.njtoyo.taxi.admin.mapper.master.enums.local_service.LifeMemberPickupInfoState;
import com.njtoyo.taxi.admin.mapper.master.enums.local_service.LifeMerchantMemberOrderState;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

@Data
public class OrderPagePresenter {
    @ApiModelProperty(value = "主键")
    private Long id;

    @ApiModelProperty(value = "商品流水号")
    private String number;

    @ApiModelProperty(value = "会员ID")
    private Long memberId;

    @ApiModelProperty(value = "会员类型 0:driver[司机],1:customer[用户]")
    private LifeMemberCategory category;

    @ApiModelProperty(value = "用户ID/司机ID")
    private Long refId;

    @ApiModelProperty(value = "会员姓名")
    private String memberName;

    @ApiModelProperty(value = "手机号")
    private String phone;

    @ApiModelProperty(value = "商家ID")
    private Long merchantId;

    @ApiModelProperty(value = "商家名称")
    private String merchantName;

    @ApiModelProperty(value = "商品ID")
    private Long merchantCommodityId;

    @ApiModelProperty(value = "商品名称")
    private String merchantCommodityName;

    @ApiModelProperty(value = "数量")
    private Integer quantity;

    @ApiModelProperty(value = "总价(单位为分)")
    private Integer totalPrice;

    @ApiModelProperty(value = "总积分")
    private Integer totalPoint;

    @ApiModelProperty(value = "实际支付(单位为分)")
    private Integer actualPayment;

    @ApiModelProperty(value = "余额支付(单位为分)")
    private Integer balancePaid;

    @ApiModelProperty(value = "商品快照")
    private String commodityArchive;

    @ApiModelProperty(value = "订单状态 0:init[初始化],1:operated[支付中],2:done[已支付],3:cancel[已取消]")
    private LifeMerchantMemberOrderState state;

    @ApiModelProperty(value = "支付时间")
    private Integer paidTimestamp;

    @ApiModelProperty(value = "是否需要线下自提")
    private Boolean isOfflinePickup;

    @ApiModelProperty(value = "会员提货信息表")
    private LifeMemberPickupInfo pickupInfo;

    @ApiModelProperty(value = "状态 0:no_written_off[待核销],1:written_off[已核销],2:expired[已过期],3,written_expired未核销但是过期")
    private LifeMemberPickupInfoState newState;

    @ApiModelProperty(value = "创建时间")
    private Date createdAt;

    @ApiModelProperty(value = "修改时间")
    private Date updatedAt;


}
